//
// Created by Jisam on 2024/7/26 23:49.
// solve d
#include <bits/stdc++.h>

#define PSI pair<string,int>
#define PII pair<int,int>
#define PDI pair<double,int>
#define PDD pair<double,double>
#define VVI vector<vector<int>>
#define VI vector<int>
#define VS vector<string>

#define PQLI priority_queue<int, vector<int>, less<int>>
#define PQGI priority_queue<int, vector<int>, greater<int>>
#define i64 long long

using namespace std;

const int N = 1e5 + 5;
i64 ans;

void solve() {
    int n, x;
    cin >> n >> x;
//    for(int i = 1 ; i < x; i ++){
//
////        ans += ((x) * (x-i))/2;
//        for(int j = 1 ;j < x; j ++){
////            int k = x - i - j;
//            for(int k = x - i -j; k > 0 ; k ++){
//                if(i * j + j * k * i * k <= n) {
//                    ans += k;
//                    break;
//                }
//            }
//        }
//    }
    ans = 0;
    for (int i = 1; i <= x; ++i) {
        int j_max = min(x - i, i);
        for (int j = 1; j <= j_max; ++j) {
            if (i * j > n) break; // 剪枝
            int k = (n - i * j) / (i + j);
            if (k > j) k = j;
            ans += max(0, j - k + 1);
        }
    }

    cout << ans << "\n";
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int T = 1;
    cin >> T;
    while (T--) solve();
//    cout << "\n"[];
    return 0;
}